/**
 * 存储数据
 * 将数据存储到LocalStorage中
 */
export const setItem = (key, value) => {
    // 将数组、对象类型的数据转化为JSON字符串进行存储
    if(typeof value === 'object') {
        value = JSON.stringify(value)
    }
    window.localStorage.setItem(key, value)
}

/**
 * 获取数据
 * 将存储在LocalStorage中的数据取出
 */
export const getItem = key => {
    const data = window.localStorage.getItem(key)
    // JSON.parse()会解析JSON字符串，构造js值或对象，如果字符串不符合JSON规范，则抛出异常
    try {
        return JSON.parse(data)
    } catch (err) {
        return data
    }
}

/**
 * 删除指定数据
 */
export const removeItem = key => {
    window.localStorage.removeItem(key)
}

/**
 * 删除所有数据
 */
export const removeAllItem = () => {
    window.localStorage.clear()
}